Screening information for a coverage model

ABSTRACT

It is disclosed to determine whether information useable for a generating/updating process that comprises generating and/or updating at least one model for a coverage area of a communication node shall be discarded or made available to said generating/updating process.

This application is a continuation of co-pending patent application Ser.No. 13/202,591 filed on Aug. 22, 2011 (hereby incorporated by referencein its entirety), which is the U.S. National Stage of Internationalapplication number PCT/US2009/001430 filed on Mar. 4, 2009 which waspublished in English on Sep. 10, 2010 under International Publicationnumber WO 2010/101550.

THE NAMES OF THE PARTIES TO A JOINT RESEARCH AGREEMENT

The claimed invention was made by or on behalf of Tampere University ofTampere, Finland and Nokia Corporation of Espoo, Finland as parties to ajoint research agreement that was in effect on or before the date theclaimed invention was made.

FIELD

This invention relates to screening information for a coverage modelbased on a state machine.

BACKGROUND

As an alternative or add-on to satellite-based positioning systems,positioning systems in which a present position of a terminal isestimated based on a list of communication nodes that can presently beheard by the terminal and a database that contains identifiers andpositions of the communication nodes and/or models for the coverageareas for a number of communication nodes have gained recent interest.

Given that the communication node positions are known and distances fromthe terminal to the communication nodes can be estimated, the terminal'sposition can be estimated through triangulation. Distance between aterminal and the heard communication nodes can be estimated for instancebased on either the path loss using a channel model (i.e. how much thesignal attenuates between the terminal and the communication node) orbased on timing (or round-trip timing) measurements (i.e. informationexpressing how long signals propagate between terminal and communicationnode).

Alternatively, if models for the communication node coverage areas areknown, then a terminal may pick the coverage areas for the heardcommunication nodes and find the intersection of these coverage areas.The terminal can then be assigned a position that is, for instance, thecenter-of-mass of the intersection area. Similarly an error estimate forthe position estimate can be given, for example, based on the size ofthe intersection.

A model for the coverage area of a communication node can for instancebe determined by having one or more terminals that are capable ofdetermining their position send reports with their present position anda list of communication nodes that can presently be heard, gathering,for each communication node, the terminal positions reported into a setof terminal positions and deriving, from this set of terminal positions,a model for the coverage area of the communication node.

SUMMARY OF SOME EXEMPLARY EMBODIMENTS OF THE INVENTION

With increasing numbers of reporting terminals and increasing frequencyof reporting, a huge amount of reports may have to be processed whendetermining one or more models for the coverage area of a communicationnode (or models for the coverage areas of several communication nodes).

According to a first aspect of the present invention, a method isdisclosed, comprising determining whether information useable for agenerating/updating process that comprises generating and/or updating atleast one model for a coverage area of a communication node shall bediscarded or made available to the generating/updating process.

According to a second aspect of the present invention, further anapparatus is disclosed, comprising a processor configured to determinewhether information useable for a generating/updating process thatcomprises generating and/or updating at least one model for a coveragearea of a communication node shall be discarded or made available to thegenerating/updating process.

The processor may for instance be implemented in hardware alone, mayhave certain aspects in software alone, or may be a combination ofhardware and software. An exemplary embodiment of the processor maycomprise a memory, wherein instructions executed by the processor may betransferrable to the memory and/or contained in the memory. Said memorymay for instance store a program according to the fourth aspect of thepresent invention described below, or at least parts thereof.

According to a third aspect of the present invention, furthermore anapparatus is disclosed, comprising means for determining whetherinformation useable for a generating/updating process that comprisesgenerating and/or updating at least one model for a coverage area of acommunication node shall be discarded or made available to thegenerating/updating process.

An example for the means for determining whether the information shallbe discarded or made available to the generating/updating process is aprocessor configured to determine whether the information shall bediscarded or made available to the generating/updating process, but themeans is not limited thereto.

The apparatuses according to the second and third aspect of the presentinvention may for instance be a server or a part thereof, for instance aserver in a system that collects positions reported from terminalsand/or generates and/or updates models for the coverage areas ofcommunication nodes, wherein such models may be provided to terminals toenable them to perform fingerprint-based positioning (i.e. positionfinding). The apparatuses may for instance further comprise a memory, IPconnectivity and/or a user interface.

According to a fourth aspect of the present invention, further a programis disclosed, comprising program code for performing the methodaccording to the first aspect of the present invention and all exemplaryembodiments (described below) thereof, when the program is executed on aprocessor.

The program may for instance be distributed via a network, such as forinstance the Internet.

The program may for instance be stored or encoded on a readable-medium,for instance a computer-readable or processor-readable medium. Thereadable medium may for instance be embodied as an electric, magnetic,electro-magnetic, optic or other storage medium, and may either be aremovable medium or a medium that is fixedly installed in an apparatusor device. The readable medium may for instance be a tangible medium,for instance a tangible storage medium.

According to the present invention, the communication node may forinstance be a communication node of a communication system. It may thenfor instance provide coverage for one or more terminals. Thecommunication system may be a wireless or a wire-bound communicationsystem, and may be of cellular or non-cellular type. The communicationnode may for instance be a one-directional or two-directionalcommunication node. Non-limiting examples of the communication node asunderstood in this specification are thus a cellular base station, aWireless Local Area Network (WLAN) access point, a Bluetooth station, anFM radio station, and a TV station. The communication node may be fixedor mobile, for instance with low mobility and/or velocity. In case ofsectorization of cells, each sector may also be understood as acommunication node given that the sectors can uniquely be identified,even if all sectors are controlled by the same (cellular) base station.

The communication node has a coverage area, which may be understood asan area within which (fixed or mobile) terminals are able to receivesignals sent from the communication node at least with a pre-determinedminimum quality, wherein the quality may for instance be expressed interms of signal strength or signal-to-noise-ratio, to name but a fewexamples. In case of a wireless communication node, the coverage areamay for instance depend on the transmission frequency and thepropagation environment, which may for instance cause shadowing. Thecoverage area does not necessarily have to be continuous, it may equallywell have recesses and may equally well consist of several sub-areas.

The information is useable for a generating/updating process thatcomprises generating and/or updating at least one model for the coveragearea of the communication node.

This generating/updating process may for instance generate/update one ormore models for the coverage area of the communication node based on acollection of reports from one or more terminals that report theirposition and a list of one or more communication nodes that can be heardat that position. Therein, a terminal may for instance be considered to“hear” a communication node if it is able to receive one or moresignals, which are sent by the communication node, with a pre-definedminimum quality, wherein said quality may for instance be defined interms of a signal-to-noise ratio or a signal-to-noise and interferenceratio. An example of such a signal sent by a communication node may forinstance be a broadcast channel. As an alternative, said terminal mayfor instance be considered to “hear” a communication node if theterminal is capable of at least partially receiving and correctlydecoding one or more signals sent by the communication node, such as abroadcast channel. For instance, the terminal may be considered to“hear” the communication node if it is at least able to decode anidentification of the communication node (e.g. a MAC address or anyother type of communication node identification). The information whichcommunication nodes a terminal can hear may for instance result from ascanning/sniffing operation performed by the terminal.

From such reports, a base-station-specific list of terminal positionsmay be derived, and a model for the coverage area of each communicationnode may then for instance be obtained based on a geometrical object(such as an ellipse, a rectangle, a polygon, a circle, etc.) that isrepresentative of all base-station-specific terminal positions. Therein,said geometrical model may for instance be a hard boundary for theterminal positions, so that all terminal positions have to be within thegeometrical object. Equally well, the geometrical object may be a softstatistical boundary that is for instance based on a statistical modelfor the distribution of the terminal positions in the coverage area andis characterized by further parameters such as for instance a confidencevalue. The geometrical object may then be considered to berepresentative of all base-station-specific terminal positions even ifit does not enclose all of these terminal positions.

The model (for instance its parameters and optional further parameters)may then be provided (optionally together with corresponding models forcoverage areas of further communication nodes) to one or more terminalsto enable them to perform positioning (i.e. position finding). Inaddition to such a model, further models for the coverage area of thecommunication node may be determined based on the base-station-specificterminal positions, for instance simpler models (e.g. models thatrequire less memory to be stored and/or less bandwidth to betransmitted) and/or models that allow for less complex manipulation (forinstance less complex checking if a position is covered by a model).

Consequently, the information useable for the generating/updatingprocess may for instance at least contain a position of a terminal thatis within a coverage area of the communication node, but may equallywell contain more information. For instance, the information may be orbe derived from one or more reports that contain a position of one ormore terminals that are able to hear the communication node, i.e. arewithin the coverage area of the communication node. The one or morereports in turn may be derived from one or more so-called fingerprints,which contain a position of a terminal and a list of all communicationnodes that can be heard by the terminal.

The generating/updating may be performed by the same unit that performsthe determining whether information shall be discarded or made availableto the generating/updating process, or by another unit.

It is determined if the information shall be discarded or made availableto the generating/updating process. The determining may for instance beperformed by a pre-processing/pre-filtering unit that receives theinformation (for instance in the form of fingerprints or reports) andeither discards or maintains the information, for instance to reduce anamount of information that has to be processed by thegenerating/updating process.

The information that has been determined to be not discarded is madeavailable to the generating/updating process, for instance by storingthis information to a storage unit where it can be retrieved by thegenerating/updating process, or by directly forwarding this informationto the generating/updating process, to name but a few examples.

Since only the information that has been determined to be not discardedis made available to the generating/updating process, an amount ofinformation that has to be dealt with by the generating/updating processmay be vastly reduced, depending on the criteria applied in thedetermining whether the information shall be discarded or maintained.For instance, only information that is considered to be of significancefor the generating/updating may be determined to be not discarded. Thispre-filtering of information may allow for a more efficient use of theavailable resources of a fingerprint collection system.

According to an exemplary embodiment of all aspects of the presentinvention, the determining is based on at least one model for thecoverage area of the communication node produced by thegenerating/updating process. The at least one model may for instance bea model that is to be provided to terminals to enable them to performpositioning (i.e. position finding) or a representation thereof. The atleast one model may equally well be derived from a model that is to beprovided to terminals to enable them to perform positioning or from arepresentation of such a model.

The determining may comprise checking if a position contained in theinformation is covered by the at least one model on which thedetermining is based and discarding the information or making theinformation available to the generating/updating process at leastpartially based on an outcome of the checking. The position may forinstance be a position of a terminal within the coverage area of thecommunication node, for instance the position of the terminal at a timeinstant (or close to such a time instant) when the terminal is (or isconsidered to be) within the coverage area of the communication node,for instance when the terminal is able to hear the communication node.In case that the at least one model represents a hard boundary for thecoverage area, the position may be understood to be covered by the atleast one model if the position is within an area defined by thecoverage model. Equally well, in case that the at least one modelrepresents a soft statistical boundary for the coverage area, othercriteria may be applied to determine if the position may be understoodto be covered by the at least one model. For instance, if the at leastone model is based on the assumption that the positions are distributedin the coverage area according to a Gaussian distribution, a positionmay for instance be considered to be covered by the at least one modelif it is within the 2D 1σ area of the coverage area, or within any otherarea definable by a confidence value. The position of the terminal mayfor instance be reported by the terminal, for instance together with anidentification of the communication node and optionally furtherparameters. All information reported by the terminal may then beconsidered as the information that contains the position. The positionof the terminal may for instance be reported in a so-called fingerprint,which comprise the position of the terminal and a list of thecommunication nodes in the coverage area of which the terminal isdetermined to be, i.e. a list of the communication nodes that can beheard by the terminal, and optionally further parameters as indicatedabove. Such a fingerprint thus provides a position of the terminal forseveral communication nodes at a time. Equally well, a fingerprint maycontain a batch of positions of the terminal and associatedcommunication node identifications, for instance gathered during acertain amount of time. It may also be the case that the position of theterminal is derived from one or more fingerprints that only contain alist of the communication nodes heard by the terminal. The positionreported by the terminal may, in rare cases, also be a position outsidethe coverage area, in particular when the measurement of the position bythe terminal is erroneous.

The information may for instance be discarded if a position contained inthe information is covered by the at least one model on which thedetermining is based. Otherwise, the information may be maintained, i.e.only the information containing a position covered by the at least onemodel on which the determining is based may be discarded. Informationcontaining a position that is already covered by the at least one modelfor the coverage area of the communication node may be consideredinsignificant for the generating/updating process and may thus bediscarded.

The generating/updating process, in addition to the at least one modelon which the determining is based, may produce at least one furthermodel that differs from the at least one model on which the determiningis based at least in its format. For instance, both the model on whichthe determining is based and the at least one further model may bemodels that are or are based on elliptical models, but they may userespectively different formats (e.g. a matrix-form ellipse for the modelon which the determining is based and a model that at least comprisescentre coordinates, length of major and minor semi-axes and orientationof the semi-major axis or semi-minor axis of an ellipse for the at leastone further model). Equally well, the model on which the determining isbased may be an elliptical (or circular) model, and the at least onefurther model may be a rectangular model. Nevertheless, the model onwhich the determining is based may be derived or derivable from the atleast one further model.

The checking if the position is covered by the at least one model onwhich the determining is based may be less complex than a checking ifthe position is covered by the at least one further model. The checkingmay for instance be less complex since it requires less computation (forinstance less operations or less memory). The model on which thedetermining is based may nevertheless require more memory for storagethan the at least one further model.

The at least one further model may for instance be a model that is to beprovided to at least one terminal for use in position finding, forinstance an elliptical model or a model based on an ellipse (e.g. amodel that comprises parameters characterizing an ellipse but alsofurther parameters, for instance including a confidence value that, incase of an ellipse representing a soft statistical boundary for thepositions of the coverage area, further characterizes the area describedby the ellipse).

Equally well, the at least one further model may be a model that is usedto represent and/or store the coverage area of the communication node inthe generating/updating process, for instance a polygonal representationof the coverage area, such as a convex hull of a plurality of terminalpositions or a polygon derived from a convex hull of the plurality ofterminal positions. Therein, the plurality of terminal positions may forinstance consist of the terminal positions considered in thegenerating/updating process so far.

At least one model of the at least one model on which the determining isbased may be a rectangular model. The rectangular model may for instancedefine a rectangular area. The rectangular model may for instance allowfor efficient storage and/or for efficient transmission between unitsand/or may allow for computationally cheap checking if a position iscovered by the rectangular model.

The rectangular model may define a rectangle that is considered to becompletely within the coverage area of the communication node. Therectangle may for instance be inside an ellipse that is considered torepresent the coverage area of the communication node.

Alternatively, the rectangular model may define a rectangle that isconsidered to completely enclose the coverage area of the communicationnode. The rectangle may for instance tightly enclose an ellipse that isconsidered to represent the coverage area of the communication node.

At least one model of the at least one model on which the determining isbased may be an elliptical model. The elliptical model may define anelliptical area. The elliptical model may represent a reasonabletrade-off between accuracy, complexity and/or storage requirement of amodel for a coverage area of a communication node. For instance, anelliptical model may allow for a more accurate approximation of acoverage area of a communication node as compared to a rectangularmodel, but may require more storage space than a rectangular model, andit may also be computationally more demanding to check if a position iscovered by an elliptical model as compared to a rectangular model. Theelliptical model may represent a hard boundary or a soft statisticalboundary for the positions in the coverage area. Said elliptical modelmay for instance be a circular model (as a special case of an ellipticalmodel).

The elliptical model may describe an ellipse by the matrix

$A = \begin{bmatrix}a & b \\b & d\end{bmatrix}$

with parameters a>0, d>0 and b and the two-dimensional centre position cso that a two-dimensional position x is within the ellipse if(x−c)^(T)A(x−c)≦1. This matrix format may for instance represent a hardboundary for the positions in the coverage area, but may equally well beconsidered to represent a soft statistical boundary, wherein the centreposition c represents the mean value and the matrix A represents thecovariance matrix, for instance of a (2D) Gaussian distribution assumedfor the distribution of the positions in the coverage area. Note that,if the ellipse is considered to represent a hard boundary of thecoverage area, the condition 1 means that the x is within the coveragearea. In contrast, in the case of a soft boundary, the same conditionmeans that x is within the 2D 1σ area of the coverage area (i.e. theellipse represents the 2D 1σ area). This matrix format of the ellipticalmodel may for instance allow for a computationally more efficientchecking if a position is covered by the elliptical model as compared toan elliptical model format that represents the same ellipse in terms ofthe lengths of the semi-major and semi-minor axis, the centre positionand the orientation of one of the axes or as compared to a model that isbased on such an elliptical model format (for instance a model that addsone or more further parameters to such an elliptical model format). Thematrix format may nevertheless require more storage space than the otherformat.

The at least one further model (generated and/or updated in addition tothe at least one model on which the determining is based) may be a modelthat is defined in terms of at least: centre coordinates, length of thesemi-major axis, length of the semi-minor axis and orientation of thesemi-major axis or semi-minor axis of an ellipse. This model maycomprise further parameters, for instance parameters related to saidellipse. Said model may represent a hard boundary for the positions inthe coverage area, i.e. so that a position is only considered to becovered by the model if it is within the ellipse described by the model,or a soft statistical boundary that allows positions to be considered tobe covered by the model even if they are outside the ellipse describedby the model. In the latter case, the model may for instance comprise aconfidence value that describes which area (e.g. a 1σ, 2σ or 3σ area ofa 2D Gaussian distribution) the ellipse actually describes. As describedabove, this model may require less storage space than the ellipticalmodel in matrix format, but may involve a more complex checking if aposition is covered by the model.

The at least one model of said at least one model on which saiddetermining is based may for instance be a polygonal model. Thepolygonal model may for instance describe a polygon representing acoverage area. The polygon may for instance be a convex hull for a setof terminal positions or may be derived from a convex hull for a set ofterminal positions. The set of terminal positions may for instancecomprise terminal positions that have been reported by terminals withinthe coverage area of the communication node. The form of the polygon maybe adaptive to the terminal positions in the set of terminal positions,it may in particular be a not pre-defined form and may not be apre-defined rectangular or a pre-defined hexagonal form. The polygonalmodel may for instance comprise a triangular model, a rectangular modelor a hexagonal model as special cases.

According to an exemplary embodiment of all aspects of the presentinvention, the determining is based on one or more determination rules.The determination rules may for instance define in which casesinformation shall be discarded and in which cases information shall bemade available to the generating/updating process. The determinationrules may for instance be based on one or more models for the coveragearea of the communication node that have been generated/updated so far(for instance by the generating/updating process) to allow discarding ofinformation that is considered, with respect to these one or moremodels, to be less significant.

The determining may for instance be based on a state machine, and atleast two states of the state machine may be associated with differentdetermination rules of the one or more determination rules,respectively.

The state machine may for instance be a finite state machine. The statemachine may be defined by a set of states it can assume and by aregulation between which of the states transitions are possible andwhich events trigger such transitions.

The state machine may for instance be operated by a unit that implementsthe generating/updating process, and the current states may be providedto or made available to a unit that implements the determining whetherinformation shall be discarded or made available to thegenerating/updating process.

Equally well, the state machine may be operated by a unit thatimplements the determining, for instance based on information receivedfrom a unit that implements the generating/updating process. As alreadystated, both the determining and the generating/updating process mayequally well be implemented by the same unit.

At least one state of the state machine may for instance be associatedwith (for instance corresponds to) a state of at least one of the atleast one model for the coverage area of the communication nodegenerated and/or updated by the generating/updating process. This modelwill be referred to as state-machine-associated model in the following.Equally well, more than one (for instance all) states of the statemachine may be associated with respective states of thestate-machine-associated model. For instance, at least two differentstates of the state machine may be associated with two differentrespective states of the state-machine-associated model or of a modelthat is derived from the state-machine associated model.

The state-machine-associated model may for instance be a polygonal,elliptical or rectangular model for the coverage are of thecommunication node. It may for instance be a model that is used torepresent positions of terminals within the generating/updating processand serves as a basis for all models generated/updated by thegenerating/updating process, or a model that is to be provided to atleast one terminal to enable the terminal to perform positioning (i.e.position finding).

The states of the state-machine-associated model may for instance berelated to the generating/updating process.

Non-limiting examples of states of the state-machine-associated modelare initial, maturing, stable, dubious and ghost. Therein, in theinitial state, for instance no model (or at least not thestate-machine-associated model) for the coverage area of thecommunication node has been generated or has been successfully generatedso far. In the maturing state, for instance the state-machine-associatedmodel has already been generated (or a representation of thestate-machine-associated model has been successfully generated), but isnot considered to be complete. In the stable state, for instance thestate-machine-associated model has already been generated and isconsidered to be complete. In the dubious state, for instance thestate-machine-associated model has already been generated, but isconsidered to be potentially wrong. In the ghost state, for instance thestate-machine-associated model has already been generated, but isconsidered to be outdated, or it has not been possible to generate amodel (or at least not the state-machine-associated model) at all due tolack of reports.

At least two states are associated with different determination rules,respectively. Therein, the same determination rule may be associatedwith more than one state. However, there may be at least two differentstates that are associated with two different determination rules,respectively, i.e. a first state is associated with a first-typedetermination rule and a second state (that is different from the firststate) is associated with a second-type determination rule that isdifferent from the first-type determination rule. Associatingdetermination rules with the states of the state machine may allowadapting the determining whether the information shall be discarded ormade available to the generating/updating process to the states of thestate machine. For instance, at least two different states of the statemachine may be associated with different respective information needs ofthe generating/updating process, and then, associating determinationrules with the states of the state machine may allow adapting thedetermining whether the information shall be discarded or made availableto the generating/updating process to the information needs of thegenerating/updating process. The information need may for instance becharacterized by an amount and/or type of information required.Definition of a type of information may for instance be based on one ormore criteria the information has to fulfill in order to be consideredto be of this type. These criteria may for instance be based on one ormore models for the coverage area of the communication node. Forinstance, in an initial state, the generating/updating process mayrequire any information related to the at least one model for thecoverage area of the communication node to allow generation of a modelfor the coverage area as soon as possible. As a further example, in astable state, only few and/or specific information, for instanceinformation allowing checking if the coverage area has changed, isrequired by the generating/updating process.

According to exemplary embodiments of all aspects of the presentinvention, transitions between at least two states of the state machineare triggered by events related to at least one property of at least oneof the at least one model for the coverage area of the communicationnode. Therein, the at least one of the at least one model for thecoverage area of the communication node may for instance be thestate-machine-associated model introduced above, but may equally well bea different model or a different representation of thestate-machine-associated model.

The at least one property may for instance be one of an availability, aconsistency, a stability, a lack of reliability and a lack of actualityof the at least one model for the coverage area of the communicationnode. For instance, a transition may be triggered when at least onemodel becomes available, or when at least one model is considered to beconsistent or stable or when at least one model is considered to beunreliable.

Examples of state transitions within the context of the exemplary statesof the state-machine-associated model introduced above are as follows.An initial state may for instance be entered as soon as a first (valid)model (e.g. the state-machine-associated model or a representationthereof) has been produced and thus is available and may be maintaineduntil no further changes occur in the model for a pre-defined period oftime, in which case a transition to the stable state may then occur,since the model is considered stable. The dubious state may for instancebe entered when potential outliers occur, so that reliability of themodel becomes questionable, and may be maintained until a model for thecoverage area fulfills one or more pre-defined criteria (for instanceconsistency criteria). Therein, an outlier may for instance be definedas a terminal position that is too far apart from the coverage area ofthe communication node, for instance since it has a distance withrespect to the coverage area that is above a distance threshold. Anoutlier may for instance occur when a terminal that is actually withinthe coverage area measures or reports its position erroneously. Aposition may be classified as a potential outlier if it is considered tobe too far apart from the assumed coverage area of the communicationnode, for instance since it has a distance with respect to the assumedcoverage area that is above a distance threshold, wherein the assumedcoverage area of the communication node may for instance be representedby a model for said coverage area. The ghost state may be entered whenan already determined model (e.g. the state-machine-associated model) isconsidered to lack actuality, for instance because it is not confirmedby any information received, or if it is not possible to generate amodel for the coverage area of the communication node (e.g. at least thestate-machine-associated model) at all due to lack of information, butis anyhow known that the communication node exists or has existed in thepast.

According to exemplary embodiments of all aspects of the presentinvention, transitions between at least two states of the state machineare controlled by at least one of a monitoring process that monitors atleast one of a stability and an actuality of at least one of the atleast one model for the coverage area of the communication node, anoutlier detection process that detects potential outliers with respectto the coverage area of the communication node and thegenerating/updating process. The monitoring process and/or the outlierdetection process and/or the generating/updating process may forinstance issue events that trigger the state transitions. The at leastone of the at least one models may for instance be thestate-machine-associated model introduced above, but may equally well bea different model. The outlier detection process may for instance be apart of the generating/updating process. The outlier detection processmay for instance determine whether a position contained in informationuseable in the generating/updating process is to be considered as apotential outlier with respect to the coverage area of the communicationnode or not. This determining may for instance be based on at least oneof the at least one model produced by the generating/updating process,or on pre-defined information such as an assumed maximum radius of acoverage area.

A first exemplary determination rule of the one or more determinationrules may require that no information shall be discarded. Theinformation then may be made available to the generating/updatingprocess without any need for checking further conditions. Thedetermining whether information shall be discarded or made available tothe generating/updating process may then be considered to be representedby determining if the first exemplary determination rule shall beapplied or not.

The at least one state in which the first exemplary determination ruleis applied may for instance be a state in which no model for thecoverage area of the communication node has been generated so far (e.g.an initial state), or a state in which at least one model for thecoverage area of the communication node is considered to be outdated(e.g. a ghost state).

The model for the coverage area of the communication node may not havebeen generated so far because the coverage area is a new coverage area(the state may then for instance be a so-called INITIAL state). A modelfor the coverage area of the communication node may be considered to beoutdated for instance because for a pre-defined period of time, noinformation with respect to the coverage area has been received (thestate may then for instance be a so-called GHOST state). Thisdetermination rule may also be applied in case that it is assumed that acoverage area has changed or moved somehow. In such a case, it may bethat all the information is maintained in order to collect evidence ofchange.

A second exemplary determination rule of the one or more determinationrules may require that the information shall be discarded if theposition contained in the information is covered by a first-type modelfor the coverage area of the communication node produced by thegenerating/updating process, that the information shall be discarded ifthe position contained in the information is not covered by thefirst-type model but is covered by a second-type model for the coveragearea of the communication node generated and/or updated by the process,and that the information shall be made available to thegenerating/updating process otherwise.

Therein, the first-type model and the second-type model are understoodto differ from each other, for instance with respect to the areadefined. The first-type model may for instance allow a pre-selection ofinformation to be discarded, which may allow sorting out a vast amountof information, and the information that passes this pre-selection thenis checked with respect to the second-type model that may allow a morerefined analysis.

The first-type model may for instance be a rectangular model. Arectangular model may allow only a coarse approximation of the coveragearea of the communication node, but may also allow checking whether aposition is covered by the rectangular model with low computationalcomplexity (as for instance compared to polygonal, elliptical orcircular models). The rectangular model thus may be particularly suitedas a pre-filter for sorting out vast amounts of information with lowcomputational complexity.

The second-type model may for instance be an elliptical model. Theelliptical model may allow modeling a coverage area of a communicationnode with increased accuracy compared to, for instance, a rectangularmodel. The first-type model may then for instance be a rectangular modelobtained by fitting a rectangle representing the rectangular model intoan ellipse representing the elliptical model. The elliptical model mayfor instance be a representation of a model for the coverage area of thecommunication node that is to be provided to one or more terminals forpositioning purposes. This choice of the first-type and the second-typemodel for the coverage area may be based on the insight that a positioncovered by the rectangular model is in any case also covered by theelliptical model. Thus when actually targeting to check whether aposition is covered by the ellipse (and discarding the positions coveredby the ellipse, since they are considered insignificant in view of thecurrent state of the state machine), it can first be checked if theposition is covered by the rectangle (inscribed into the ellipse), sincethis check is computationally less complex and sorts out a large numberof positions that then do not have to be checked with respect to theellipse. Then it has to be checked only for the positions that are notcovered by the rectangle whether they are covered by the ellipse or not.

Therein, a state of the state machine associated with the secondexemplary determination rule may be a state in which the at least onemodel for the coverage area of the communication node produced by thegenerating/updating process is considered to be not based on enoughinformation yet (e.g. a maturing state), or a state in which thecoverage area is considered to have changed or moved (e.g. a dubiousstate).

The former state may for instance be entered as soon as a first (valid)model for the coverage area of the communication node has been producedand may be maintained until no further changes occur in the model for apre-defined period of time. The latter state may for instance be enteredwhen potential outliers (for instance more than a pre-defined number)with respect to an already determined model for the coverage area occurand may be maintained until a model for the coverage area is no longerconsidered to be potentially wrong.

A third exemplary determination rule of the one or more determinationrules may require that the information shall be made available to thegenerating/updating process if the position contained in the informationis not covered by a model for the coverage area of the communicationnode produced by the generating/updating process and that, if theposition is covered by the model, the information shall be discardedrandomly according to a pre-defined probability criterion and otherwisemade available to the generating/updating process. While positions notcovered by the model may all be significant, this may not hold forpositions covered by the model. For instance, some positions covered bythe model may be significant, and others may be not. To take this intoaccount, and still to reduce the amount of maintained information thatis to be considered in the generating/updating process, it may beadvantageous to maintain information with positions covered by the modelat least randomly. The pre-defined probability criterion may forinstance be a pre-defined probability value, e.g. 0.99. Randomlymaintaining may then for instance be achieved by generating a randomnumber between 0 and 1 and maintaining the information if the generatedrandom number is larger than the pre-defined probability, for instance0.99. The pre-defined probability criterion may also be based on furtherparameters the values of which are variable. For instance, theprobability criterion may prescribe that the probability of discardinginformation shall be inversely proportional to a distance from thecentre of a model for the coverage area of the communication node (sothat with increasing distance, the probability of discarding informationdecreases), or proportional to the rate at which information is received(so that with increasing amount of information, the probability ofdiscarding the information increases), to name but a few examples.

The model may for instance be a rectangular model. The model may forinstance define a rectangle fitted around an ellipse defined by anelliptical model, wherein the elliptical model may be a representationof a model for the coverage area of the communication node that is to beprovided to one or more terminals for positioning purposes. Informationwith positions outside the rectangle may then always maintained, whereasinformation with positions inside the rectangle is randomly rejected,which allows at least randomly maintaining information with positions inthe area between the ellipse and the rectangle with a reasonablecomputational complexity. As positions outside the rectangle, alsopositions lying in this area between the ellipse and the rectangleindicate that the coverage area has changed (e.g. grown) and are thussignificant for the generating/updating process.

A state of the state machine associated with the third exemplarydetermination rule may be a state in which the at least one model forthe coverage area of the communication node produced by the process isconsidered to be complete (or at least substantially complete) (e.g. astable state).

This consideration may for instance be based on the finding that a modelfor the coverage area has not changed for a pre-defined period of time.

A fourth exemplary determination rule of the one or more determinationrules may require that all information shall be discarded. Thisdetermination rule may for instance be associated with a state of thestate machine in which it is assumed that the model for the coveragearea of the communication node is complete and that the coverage areawill not change in the future. The determining whether information shallbe discarded or made available to the generating/updating process maythen be considered to be represented by determining if the fourth-typedetermination rule shall be applied or not.

A fifth exemplary determination rule of the one or more determinationrules may require that information is discarded randomly according to apre-defined probability criterion (for instance a pre-definedprobability value). For instance, in case of a high probability ofdiscarding information, this determination rule may for instance beassociated with a state in which it is assumed that the model for thecoverage area of the communication node is complete, but in which atleast some information is not discarded to be able to monitor if changesin the coverage area occur.

It is to be noted that the above description of embodiments of thepresent invention is to be understood to be merely exemplary andnon-limiting. Furthermore, the exemplary embodiments described above andin particular their single features shall be understood to be disclosedin all possible combinations with each other.

These and further concepts of the invention will be apparent from andelucidated with reference to the detailed description presentedhereinafter.

BRIEF DESCRIPTION OF THE FIGURES

In the figures show:

FIG. 1: A schematic block diagram of an exemplary system that implementsexemplary concepts of the present invention;

FIG. 2: a schematic illustration of an exemplary coverage area of a basestation with exemplary models for this coverage area;

FIG. 3: a schematic block diagram of an exemplary embodiment of aprocess for generating and/or updating models for the coverage area of abase station according to the present invention;

FIG. 4: a schematic block diagram of an exemplary embodiment of anapparatus according to the present invention;

FIG. 5: a schematic block diagram of a further exemplary embodiment ofan apparatus according to the present invention;

FIG. 6: a schematic illustration of an exemplary embodiment of atangible storage medium according to the present invention;

FIG. 7: a flowchart of an exemplary embodiment of a method according tothe present invention;

FIG. 8: a flowchart of an exemplary screening process according to thepresent invention;

FIG. 9: an exemplary state transition diagram for an exemplary statemachine according to the present invention; and

FIG. 10: a schematic illustration of a point lying within a polygon anda further point lying outside a polygon.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS OF THE INVENTION

Satellite positioning does not work well indoors or in other shadowedenvironments. However, various communication nodes are ubiquitous in themodern world. Non-limiting examples of such communication nodes includecellular base stations, WLAN access points, FM radio or TV stations.Instead of the term “communication node”, also the term “base station”will be used in the following description, wherein the term “basestation” is not necessarily understood to be restricted to a cellularbase station. These base stations have good penetration and coveragevirtually everywhere of interest. Since the range of these beacons mayusually be relatively short (for instance hundreds of meters to somekilometers), these beacons may be exploited for positioning purposes.

For instance, WLAN-based positioning may complement Global NavigationSatellite System (GNSS) based positioning in urban environments.Typically GNSS-based positioning methods have problems in urbancanyons—however, these are also areas, in which the WLAN AP density ishigh. WLAN-positioning also enables indoor positioning allowing for moreeffective Location Based Services (LBS).

WLAN Access Points (WLAN APs) can be used for positioning given that theposition(s) of the AP(s) are known. In general, WLAN-based positioningassumes a database, either local (in the terminal) or remote (in theserver) or a combination of those containing at least WLAN APidentification information (e.g. a WLAN AP Medium Access Control (MAC)address) and the geographical coordinates of the WLAN APs. The databasemay also contain an estimate of the WLAN AP position accuracy. Moreover,a coverage area may also be modeled.

The database of WLAN APs and their geographical coordinates and/orcoverage models allow for positioning the terminal with WLAN. GNSS orsome other conventional positioning capability may then not be required.

In positioning, the terminal performs a WLAN AP scan and then comparesthe scan results to the records in the database. If applicable recordsare found, the information is combined in some suitable manner (such as,weighted average based on Relative Signal Strength (RSS) values) toproduce a position estimate for the terminal.

Therein, if the base station positions are known and distances from theterminal to the base stations can be estimated, the terminal's positioncan be estimated through triangulation. The distance between a terminaland the heard base stations can be estimated based on either the pathloss (i.e. how much the signal attenuates between the terminal and thebase station) using a channel model or based on timing (or round-triptiming) measurements (i.e. information expressing how long signalspropagate between terminal and base station).

If models for the base station coverage areas are known, then a terminalmay pick the coverage areas for the heard base stations and find theintersection of these coverage areas. The terminal can then be assigneda position that is, for instance, the center-of-mass of the intersectionarea. Moreover, a position error estimate may be given based on the sizeof the intersection.

These mechanisms may also be combined: distance measurements can becombined with coverage area models to produce a position estimate. Evensatellite (GNSS) pseudorange measurements may be taken into account inthese hybrid methods to obtain additional measurements.

The database for WLAN-based positioning can be built in various ways.One solution may be that a company buys hotspot directories from WLANnetwork providers and assimilates these directories in their databases.Alternatively, a plurality of terminals may perform the WLAN AP mapping.In such a case the terminals may have a Global Navigation SatelliteSystem (GNSS) or Assisted GNSS (AGNSS) receiver attached to or insidethe terminal and provide data on the WLAN AP's coverage. It may also bethe case that the database build-up is a community-based effort.

It is readily understood by a person skilled in the art that thetechniques described above in the context of a WLAN system are equallyapplicable with any other radio network-technology as well. Potentialcandidates include Bluetooth, Wibree (Ultra Low Power Bluetooth), GlobalSystem for Mobile Communication (GSM), Wideband Code Division MultipleAccess (WCDMA), Code Division Multiple Access (CDMA), Long TermEvolution (LTE), Worldwide Interoperability for Microwave Access(WiMAX), to name but a few non-limiting examples.

The above-described WLAN-based positioning may also becombined/complemented with Cell ID-based positioning. When collectingthe data for the WLAN AP database, also information on 2G (secondgeneration, e.g. GSM) and/or 3G (third generation, e.g. UMTS) cells (oron cells of any other cellular communication system) that can beobserved in the present position (serving station and optionally alsothe neighboring stations) may be collected.

The data collected on WLAN APs and 2G/3G cells can for instance becollected on central servers and distributed to the terminals forposition determination.

FIG. 1 schematically illustrates the functional blocks of an exemplarysystem 1 that implements aspects of the present invention.

The server side of the exemplary system 1 comprises two processingblocks, Finger Print (FP) File Reader (FPFR) block 11 and Radio MapGeneration (RMG) block 14. Moreover, there are three data stores, ReportData Base (RDB) 13, Screening Data Base (SDB) 12 and Radio Map Data Base(RMDB) 15. Each can be either centralized or, for example, regionallydistributed. Moreover, although the exemplary architecture shows severaldifferent databases, they can be implemented as one single same databaseor may be broken down in more databases in different implementations. Itis clear to a person skilled in the art that the actual number andnaming of databases is an implementation issue and does not affect theconcept disclosed in this specification. The terminals 10 acting as datacollectors or positioning clients 16 can also be seen as processingblocks of system 1.

The one or more terminals (e.g. mobile terminals) 10 with positioningcapacity (e.g. GPS) send a fingerprint comprising one or more positions(i.e. terminal positions, for instance the terminal's coordinates) and alist of one or more base station IDs heard at each position, andoptionally further parameters such as for instance their signalstrengths and/or approximate ranges.

The fingerprint arrives to the FPFR block 11, which splits theinformation into base-station-specific reports, and stores thebase-station-specific reports, which, in the simplest case, are onlyterminal positions, into the RDB 13. According to exemplary embodimentsof the present invention, which will be described in more detail below,FPFR block 11 implements a filter that drops (discards) reports, forinstance when they are considered to add no new information to thealready collected data. In particular, to be able to deal with themassive number of incoming reports, the FPFR block 11 may for instancemake use of simplified pre-models of the coverage area (stored in SDB12) to be able to quickly drop a large number of redundant reports.

The RMG block 14 reads (for instance continuously or periodically, or inresponse to a trigger event, such as an arrival of a new report or anaccumulation of a certain amount of reports) reports from the RDB 13,and updates the coverage models (for instance elliptical models ormodels that are based on elliptical models) to be distributed anddelivered to the positioning clients 16, and the simplified pre-modelsto be fed back to the FPFR block 11 performing report screening (via SDB12). The RMG block 14 may also remove redundant reports from RDB 13,keeping only a small but representative set of reports on the coveragearea of each base station.

Finally, the coverage models are delivered to terminals 16 to be usedfor positioning on their own or combined to other positioning data inthe terminal.

The following two ellipse formats are exemplarily used in thisspecification:

An “axis/angle-form” ellipse, defined by coordinates of the centre (inWorld Geodetic System WGS-84) longitude and latitude, lengths of thesemi-major and semi-minor axes (in meters, referring to WGS-84coordinates), and orientation of the semi-major axis (degrees,clock-wise from North). Moreover, a confidence value can be included aswell. If the ellipse is interpreted in a statistical sense, i.e. torepresent a soft statistical boundary for the positions in the coveragearea rather than a hard boundary that includes all positions in thecoverage area, the confidence value may specify which area with respectto the coverage area the ellipse describes. For instance, if thepositions are assumed to be statistically distributed in the coveragearea according to a 2D Gaussian distribution, the confidence value mayfor instance express if the ellipse represents the σ, 2σ or 3σ area ofthe 2D Gaussian distribution, wherein σ is the standard deviation.Therein, the σ, 2σ and 3σ areas may for instance be understood as theareas in which about 39%, 86% and 99% of the terminal positions areconsidered to be within, respectively.

A “matrix-form” ellipse: coordinates (WGS-84) of the centrec=(lat_(E),lon_(E)), and three coefficients a>0, d>0, and b so thatpoint x=(lat, lon) is inside the ellipse if

(x−c)^(T) A(x−c)≦1

with

$A = {\begin{bmatrix}a & b \\b & d\end{bmatrix}.}$

The matrix-form ellipse may require more memory space for storage, butmay be faster to manipulate than the axis/angle-form ellipse. Similar tothe axis/angle-form ellipse, also the matrix-form ellipse may representa soft statistical boundary for the positions in the coverage arearather than a hard boundary that includes all positions in the coveragearea. For instance, the centre c may then be interpreted as the meanvalue and the matrix A may then be interpreted as the covariance matrix,for instance of a 2D Gaussian distribution assumed for the distributionof the positions in the coverage area. The ellipse may then no longercoincide with the outer boundary of the coverage area, it may ratherdefine a sub-area or super-area of the coverage area, for instance the σarea.

Details on conversion between the two axis/angle-form ellipse and thematrix-form ellipse are given in Appendix A.4.

In the following, the processing blocks of the exemplary system 1 ofFIG. 1 will be described in further detail.

The one or more terminals 10 send fingerprints. Fingerprints may forinstance include available network measurements for 2G (e.g. GSM) and/or3G (e.g. UMTS) serving and neighboring base stations as well as for WLANbase stations (access points). The network measurements for instancecomprise the base station identification of the base stations heard, butmay also include signal strength (Received Signal Strength, RSS) andtiming measurements (such as Timing Advance, TA and/or Round TripDelay), which may be indicative of the range to the base station. Themajority of the fingerprints contain one or more estimates of theterminal's position. The fingerprints may further contain one or moretimestamps.

From these fingerprints, base-station specific reports are generated byFPFR block 11, for instance in the form of Table 1, for storage in RDB13. Therein, it is to be noted that the base station does notnecessarily have to be the primary record for storingfingerprints/reports. Equally well, the fingerprints may be stored in adatabase in a position-specific way, so that the according entries inthe database then may pertain to several base stations. The fingerprintsmay of course also be stored and/or processed according to othercriteria.

TABLE 1 Exemplary Report Format Parameter Description ID Unique ID codeof the base station Type 2G/3G active/neighbour, WLAN, WiMAX, etc.Timestamp Timestamp Position Reported position RSS Received signalstrength (if available) Range Range to base station (if available)

As described above, in the exemplary system of FIG. 1, fingerprintscontaining measurements with respect to several base stations (andoptionally neighboring base stations) are split by base station andtreated separately.

RDB 13 may for instance store a pre-defined number of reports withrespect to each base station, and it may be targeted to use as littlecomputation as possible to sieve the significant ones from the mass ofincoming reports.

RMG block 14 exemplarily uses a convex polygon (for instance a convexhull) to represent the terminal positions that are reported by the oneor more terminals 10 (see FIG. 1), pass the FPFR block 11 and are atleast temporarily stored (in the form of reports) in RDB 13. That is,instead of storing all terminal positions received from FPFR block 11 inRDB 13, only the terminal positions that form the vertices of a convexpolygon (e.g. a convex hull) that encloses all these terminal positionsare stored. Therein, the maximum number of vertices of this convex hullmay be limited to some pre-defined value. If the number of vertices ofthe convex hull exceeds this maximum number, vertices of the convex hullmay be merged to form a convex polygon (with increased area as comparedto the convex hull) in a way that still all terminal positions arewithin the polygon.

This is accomplished by RMG block 14 by overwriting the reports in theRDB 13 with a reduced set of reports (or just deleting unnecessaryones), i.e. those reports that are associated with the terminalpositions that form the polygon (i.e. its vertices). Nevertheless,depending on the monitoring status of the border terminalpositions/reports (i.e. the vertices of the polygon), also interiorterminal positions/reports (i.e. terminal positions/reports within thepolygon) may be stored in RDB 13.

An example of a convex polygon 22 (in this case a convex hull) enclosingthe terminal positions 21 in a coverage area 20 of a base station 26 isgiven in FIG. 2.

In addition to the polygon 22 serving as a model for the coverage areaof the base station as discussed above, the RMG block 14 furthergenerates a coverage model and different pre-models based on thispolygon 22, as will be described now.

All of these models are models for the coverage area of the basestation. In the following, models for the coverage area of the basestation that are to be provided to the positioning terminals 16 (seeFIG. 1) will be denoted as “coverage models” (e.g. the axis/angle-formellipse (either representing a hard boundary or a soft statisticalboundary) or a model that is based on the parameters of theaxis/angle-form ellipse and for instance adds one or more furtherparameters, also either representing a hard boundary or a softstatistical boundary), whereas the models for the coverage area of thebase station that are provided to FPFR 11 and stored in SDB 12 will bedenoted as “pre-models” (e.g. the inner box, outer box and matrix-formellipse models (which may also represent a hard boundary or a softstatistical boundary)).

In the following, for simplicity of presentation, it will exemplarily beassumed that the coverage models and pre-models represent hardboundaries for the positions in the coverage area.

An elliptical coverage model is generated by RMG block 14 by fitting theminimum enclosing ellipse around the polygon 22 (see for instanceellipse 23 enclosing convex hull 22 in FIG. 2). When updating thisellipse, the old ellipse may be used as the initial guess. The ellipseor a model that is based on the ellipse may then be saved in RMDB 15 (ascoverage model).

FIG. 3 is a schematic illustration of the generation of a polygonserving as a representation (i.e. a model) of the coverage area of abase station and the coverage model and pre-models derived from thispolygon.

Therein, block 302 performs outlier detection. Outlier detection isbased on pre-models and/or information on the type of coverage area tobe determined, for instance the maximum possible radius of the coveragearea, as stored in SDB 301 (corresponding to SDB 12 of FIG. 1). Theconcepts of outlier detection and monitoring will be explained infurther detail below.

For all reports contained in RDB 300 (corresponding to RDB 13 of FIG.1), a polygonal representation is determined in block 303. This polygonis then input into block 304, where a coverage model (e.g. an ellipse ora model derived from it) is generated from the polygon, and thiscoverage model is then stored in RMDB 311 (corresponding to RMDB 15 ofFIG. 1).

For all currently non-monitored reports (i.e. for those reports that areneither suspected to be outdated nor suspected to be outliers), anon-monitored polygon is determined in block 305, and this non-monitoredpolygon serves as a basis for pre-model generation in block 306. Thepre-models output by this block (e.g. an ellipse in matrix-form, theinner box and outer box, see FIG. 2) are then stored in SDB 308(corresponding to SDB 12 in FIG. 1). SDB 308 further stores monitoringboxes (explained in more detail below), which may be required in FPFR 11block, and state information (e.g. a current state of the state machine)(explained in more detail below), from block 302. SDB 308 furtherreceives state information from state algorithm block 307.

Information on the polygon determined in block 303 and on thenon-monitored polygon determined in block 305 is stored back to RDB 309(corresponding to RDB 13 in FIG. 1).

Each of blocks 303, 304, 305 and 306 in FIG. 3, or some or all of theseblocks taken together, may be considered to represent agenerating/updating process that generates and/or updates at least onemodel for the coverage area of a base station. The functionality of allblocks 303, 304, 305 and 306 taken together is referred to as RMGprocess in this specification.

Table 2 illustrates an exemplary coverage model entry in RMDB 15.

TABLE 2 Exemplary coverage model entry in the RMDB Parameter DescriptionID Unique ID code of the base station Type 2G, 3G, WLAN, etc. StateState from SDB Position Base station position (if available) CoverageCoverage model, e.g. a model model comprising the parameters of theaxis/angle-form ellipse and optionally further parameters

As already mentioned, RMG block 14 further generates pre-models, whichare stored in SDB 12. In the following, use of the following exemplarypre-models will be assumed (see FIG. 2):

-   matrix-form ellipse 23: Minimal matrix-form ellipse fitted around    the polygon 22. All reports so far are inside this ellipse 23.-   outer box 24: Formed from minimum and maximum coordinates. All    reports so far are inside the outer box 24.-   inner box 25: Maximal box fitted inside the outer ellipse 23 (see    Appendix A.3). Reports inside the inner box 25 do not change the    current ellipse.

Table 3 illustrates an exemplary entry in SDB 12.

TABLE 3 Exemplary SDB entry Parameter Description ID Unique ID code ofthe base station timestamp time when pre-models were last modified Type2G, 3G, WLAN, etc. State State of the state machine for the access pointmonitorBox Monitoring boxes monitorExp Monitoring expiry timestampsInnerBox Pre-model (min/max lat/lon) OuterBox Pre-model (min/maxlat/lon) Ellipse Pre-model (matrix-form)

According to exemplary embodiments of the present invention, in FPFRblock 11, a screening of incoming fingerprints/reports is performed todetermine if these incoming fingerprints/reports shall be discarded ormade available to the RMG process that generates and/or updates themodels for the coverage area of a base station (such as for instance thepolygonal representation of the terminal positions/reports, the coveragemodel (e.g. a model comprising the parameters of the axis/angle-formellipse and optionally further parameters) and the pre-models (e.g. theinner and outer box models and the matrix-form ellipse)). Onlyfingerprints/reports that are determined to be not discarded are madeavailable to the RMG process by storing it in RDB 13.

FIG. 4 is a schematic illustration of an exemplary embodiment of anapparatus 6 according to the present invention. The apparatus 6comprises a processor 60, which communicates with input interface 61,output interface 62, program memory 63 and main memory 65.

Processor 60 is configured to implement at least functionality todetermine, whether information useable for a generating/updating processthat comprises generating and/or updating at least one model for acoverage area of a base station shall be discarded or made available tothe generating/updating process. To this end, processor 60 may forinstance run a computer program with program code for determiningwhether information useable for a generating/updating process thatcomprises generating and/or updating at least one model for a coveragearea of a base station shall be discarded or made available to thegenerating/updating process. This computer program may for instance bestored in program memory 63, which may be fixedly attached in apparatus6 or may be a removable memory. Main memory 64 is used by processor 60as a working memory, for instance to store intermediate results andvariables.

Processor 60 thus at least partially implements functionality of FPFRblock 11 of FIG. 1.

Input interface 61 is configured to allow obtaining information fromanother unit. This information comprises information useable for agenerating/updating process, such as fingerprints and/or reports fromthe data collectors 10 of system 1 (see FIG. 1) or from a unit thatreceives the fingerprints or reports from the data collectors 10. Theinformation may further comprise information from SDB 12, such as forinstance pre-models, monitor boxes, states and/or determination rules.The information may further comprise RDB queries received from RDB 13.

Similarly, output interface 62 is configured to allow outputting of datato another unit, in particular information that is determined to bemaintained and thus to be made available for the generating/updatingprocess. An example of such information are reports that are consideredto be maintained and are stored in RDB 13 to be considered by RMG block14 in the generating/updating process in which the polygon, the coveragemodel and the pre-models are generated and/or updated.

As indicated above, processor 60 may be further configured to implementfurther functions of FPFR block 11 of the system of FIG. 1, for instancesplitting fingerprints into base-station-specific reports, derivingterminal positions from coverage models send by the data collectors 10,checking if reports/terminal positions fall into monitor boxes (as willbe explained in more detail below), triggering state transitions of thestate machine, and performing RDB queries, to name but a few examples.

Processor 60 may also be further configured to implement some or all ofthe functionality of RMG block 14 (see FIG. 1) of the exemplary systemof FIG. 1, as exemplarily illustrated in FIG. 3. This may for instancecomprise some or all of the following functions: generating one or morepolygons to represent a plurality of reports (and the coverage area),deriving coverage models and/or pre-models form the one or morepolygons, detecting potential outliers (as will be explained in moredetail below), at least partially (or also entirely) operating a statemachine that has different states (as will be explained in more detailbelow), at least partially (or also entirely) controlling the statetransitions in the state machine, and performing base station positionestimation, to name but a few examples.

Accordingly, depending on the functionalities implemented by processor60, input interface 61 then may further be configured to receive reportsfrom RDB 13, and output interface 62 then may be further configured tooutput at least one of the following: reduced reports/terminal positionsto RDB 13, coverage models (and optionally estimated base stationpositions) to RMDB 15, and pre-models, states and monitor boxes to SDB12.

Apparatus 6 may for instance be entirely implemented as a module thatmay for instance be integrated into a server. Apparatus 6 may forinstance be entirely implemented as a circuit on a semiconductor chip.Apparatus 6 may for instance be entirely implemented on a Digital SignalProcessor (DSP), Application Specific Integrated Circuit (ASIC) or FieldProgrammable Gate Array (FPGA), to name but a few examples.

FIG. 5 is a schematic illustration of a further exemplary embodiment ofan apparatus 7 according to the present invention. The apparatus 7comprises a processor 70, which communicates with input interface 71,output interface 72, program memory 73, main memory 74 and a massstorage 75.

Processor 70 is configured to implement at least functionality todetermine whether information useable for a generating/updating processthat comprises generating and/or updating at least one model for acoverage area of a base station shall be discarded or made available tothe generating/updating process. To this end, processor 70 may forinstance run a computer program with program code for determiningwhether information useable for a generating/updating process thatcomprises generating and/or updating at least one model for a coveragearea of a base station shall be discarded or made available to thegenerating/updating process. This computer program may for instance bestored in program memory 73, which may be fixedly attached in apparatus7 or may be a removable memory. Main memory 74 is used by processor 70as a working memory, for instance to store intermediate results andvariables.

Processor 70 thus at least partially implements functionality of FPFRblock 11 of FIG. 1.

Processor 70 may be further configured to implement further functions ofFPFR block 11 of the exemplary system of FIG. 1, for instance splittingfingerprints into base-station-specific reports, deriving terminalpositions from coverage models sent by the data collectors 10, checkingif reports/terminal positions fall into monitor boxes (as will beexplained in more detail below), and responding to RDB queries, to namebut a few examples.

Processor 70 may also be further configured to implement some or all ofthe functionality of RMG block 14 (see FIG. 1) of system 1 of FIG. 1, asexemplarily illustrated in FIG. 3. This may for instance comprise someor all of the following functions: generating one or more polygons torepresent a plurality of reports (and the coverage area), derivingcoverage models and/or pre-models form the one or more polygons,detecting potential outliers (as will be explained in more detailbelow), triggering state transitions of a state machine at leastpartially (or also entirely) operating a state machine with differentstates, at least partially controlling the state transitions in thestate machine, and performing base station position estimation, to namebut a few examples.

Mass storage 75 may for instance be configured to implement one or moreof RDB 13, SDB 12 and RMDB 15 (either as separate data bases or as acommon single data base). Depending on the amount of functionalityimplemented by processor 70 and on the number and choice of databases(RDB, SDB, RMDB) implemented by mass storage 75, it is then readilyclear for a person skilled in the art for the transfer of which kind ofinformation input interface 71, output interface 72 and the connectionbetween processor 70 and mass storage 75 have to be configured.

For instance, if processor 70 implements the functionality of FPFR block11 and RMG block 14 of the exemplary system of FIG. 1, the connectionbetween processor 70 and mass storage 75 may have to be capable oftransferring the following (see FIG. 1): (reduced) reports, RDB queriesand responses, BS positions, coverage models, pre-models, monitor boxesand states. Furthermore, input interface 71 may then have to beconfigured to receive fingerprints from data collectors 10 (or from aninstance that receives these fingerprints from data collectors 10), andoutput interface 72 may have to be configured to output coverage modelsand base station positions to the positioning clients 16, and coveragemodels to data collectors 10.

Apparatus 7 may for instance be entirely implemented as a module thatmay for instance be integrated into a server. Apparatus 7 may forinstance be entirely implemented as a circuit on a semiconductor chip.Apparatus 7 may for instance be entirely implemented on a Digital SignalProcessor (DSP), Application Specific Integrated Circuit (ASIC) or FieldProgrammable Gate Array (FPGA), to name but a few examples.

FIG. 6 is schematic illustration of an exemplary embodiment of atangible storage medium 30 according to the present invention. Tangiblestorage medium 30 may for instance store a computer program 31 withprogram code 32 for determining whether information useable for agenerating/updating process that comprises generating and/or updating atleast one model for a coverage area of a base station shall be discardedor made available to the generating/updating process. Tangible storagemedium 30 is a readable medium, for instance a computer-readable orprocessor-readable medium. Accordingly, the computer program 31 storedon tangible storage medium 30 may be executable by a computer or aprocessor. Tangible storage medium 30 may for instance be embodied as anelectric, magnetic, electro-magnetic, optic or other tangible storagemedium, and may either be a removable medium or a medium that is fixedlyinstalled in an apparatus or device, such as for instance apparatus 4 ofFIG. 4 or apparatus 7 of FIG. 5.

FIG. 7 is a flowchart of an exemplary embodiment of a method accordingto the present invention. This flowchart may for instance be implementedas a computer program that is stored in program memory 63 of apparatus 6(see FIG. 4) or in program memory 73 of apparatus 7 (see FIG. 5).Consequently, this flowchart may be executed by processor 60 ofapparatus 6 or processor 70 of apparatus 7. Equally well, this flowchartmay be implemented as program code 32 of computer program 31 stored ontangible storage medium 30 (see FIG. 6).

In case of incoming information, step 800 is executed by determiningwhether the incoming information shall be discarded. Discardedinformation may be considered as information that is notinteresting/significant for the generating/updating process. In thecontext of the exemplary system of FIG. 1, this information may forinstance be fingerprints or reports (for instance base-station-specificreports) derived from one or more fingerprints or from a coverage model.

This determining whether information shall be discarded may for instancebe based on one or more models for the coverage area of a base station,for instance the exemplary pre-models inner box, outer box andmatrix-form ellipse already introduced above. For instance, it may bechecked whether a terminal position contained in the information iscovered (or not covered) by such a pre-model (e.g. is within an areadefined by the pre-model) or not to determine whether the informationshall be discarded or not. The determining may also comprise firstchecking if a terminal position is not covered by a first-type model,and only if this is the case, checking if the terminal position iscovered by a second-type model. The determining may also compriserandomly rejecting information that is found to be covered by a model.As an example, all positions covered by the inner box model may bediscarded right away. As a further example, all positions not covered bythe outer box model may be maintained. In a computationally moredemanding case, the positions covered by the matrix-form ellipse arediscarded.

The rationale for basing the determining in step 800 on one or moremodels for the coverage area of a base station, e.g. the pre-modelsinner box, outer box and/or matrix-form ellipse, may be to maintain onlypositions that are considered to change these pre-models and/or tochange a model (e.g. the polygonal model and/or a model that comprisesthe parameters of the axis/angle-form ellipse and optionally furtherparameters) from which the pre-models are derived.

The determining in step 800 may for instance depend on an amount of(currently) available computation resources, so that, in case that manycomputation resources are available, less information is discarded, andin case that only few computation resources are available, moreinformation is discarded. For instance, if computation power isavailable, all positions inside the inner box might be dropped rightaway, or in the extreme case of low computational power, all positionsinside the outer box may be dropped right away, so that only extreme newpositions may be considered further by the process.

The determining may be based on determination rules that define in whichcases information shall be discarded and in which cases it shall bemaintained. There may exist several different determination rules, andthe determining may be controllable by prescribing which determinationrule shall be currently used. The determination rule to be used may forinstance be prescribed by the current state of a state machine, as willbe explained with reference to the exemplary embodiment of FIG. 8 below.

If it is determined that the information shall be discarded, theinformation is discarded in step 801, for instance by performing nofurther action, or by actively deleting the information, to name but afew examples. If it is determined that the information shall bemaintained, in a step 802, the information is made available to agenerating/updating process (for instance the RMG process of RMG block14). This may for instance be accomplished by storing the information ina memory where it can be retrieved by the process, or by directlyforwarding the information to the process. In the context of theexemplary system of FIG. 1, the information (i.e. thefingerprints/reports) is for instance made available to the RMG processby storing it in RDB 13.

The screening/filtering represented by the determining whetherinformation shall be discarded or made available to thegenerating/updating process contributes to reduce the amount ofinformation that has to be processed by the generating/updating process.Therein, basing the determining on pre-models such as the inner box,outer box and matrix-form ellipse models allows this screening/filteringto be performed with comparably low computational complexity. Therein,with respect to the matrix-form ellipse, it is to be noted that,although this model may require more memory than the axis/angle-formellipse, checking if a point is covered by the matrix-form ellipse modelonly requires 14 operations (see Appendix A.2), whereas theaxis/angle-form ellipse requires 55 operations (see Appendix A.6). Therectangular models inner and outer box are efficient with respect toboth storage requirements (only two corner coordinates need to bestored, and one of those can for instance be given relative to theother) and checking if a position is covered by the model (only 4operations are required, as compared to the 14 operations required incase of the matrix-form ellipse and around 50-100 operations required incase of a polygonal model, see Appendix A.5).

According to exemplary embodiments of the present invention, thedetermining in step 800 of FIG. 7 is based on determination rules thatare respectively associated with states of a state machine. Based on thestates of the state machine, different determination rules are thenapplied to determine if information (e.g. information received from thedata collecting terminals such as fingerprints and/or reports) shall bedropped or shall be used in the generating/updating process.

In the following, it is exemplarily assumed that the states of thisstate machine correspond to the states of at least one model produced bythe generating/updating process (e.g. the RMG process), wherein thesestates of the at least one model may for instance relate to thegenerating/updating process (for instance to a progress thereof). In thefollowing, due to their exemplary correspondence, no differentiationwill be made between the states of the state machine and the states ofthe at least one model. The at least one model may be referred to as astate-machine associated model. Since the state-machine-associated modelis specific for a coverage area of a base station, the state machine isalso understood to be associated with the respective coverage area (andthe respective base station).

The flowchart of FIG. 8 represents an according exemplary embodiment ofthe method according to the present invention. This flowchart may forinstance be implemented as a computer program that is stored in programmemory 63 of apparatus 6 (see FIG. 4) or in program memory 73 ofapparatus 7 (see FIG. 5). Consequently, this flowchart may be executedby processor 60 of apparatus 6 or processor 70 of apparatus 7.

In step 900 of FIG. 8, fingerprints received from data collectingterminals 10 of system 1 (see FIG. 1) are first split into individual(base-station-specific) reports (or converted into individual reports incase of incoming coverage models).

If the report is within a monitor box (step 501), which will beexplained in further detail below, the monitor box is removed (step908), the timestamp of the monitored report is updated (step 908), andthe report is stored in RDB 13 (step 909). It is seen that, in thisexemplary example, the checking whether a position is within a monitorbox is independent of the state. This may be one possible way to ensurethat the state specific discarding of reports does not interfere withthe monitoring process.

Otherwise, a processing according to the state of the state machine forthe coverage area is executed (see step 902).

The exemplary states used in FIG. 8 are:

-   -   1. INITIAL: The determination rule here is to store all reports        that are in the RDB 13 (see step 909). This state is used for        new coverage areas and those coverage areas that gather very        little traffic.    -   2. MATURING: The determination rule here is as follows: Drop        reports inside the inner box 25 (see FIG. 2), which may be about        50%-90% of the incoming data (see steps 906 and 905) and, (if        not low on computation power) drop also reports inside the        pre-model (matrix-form) ellipse (see FIG. 2), see steps 907 and        905.        -   Therein, an exemplary algorithm for checking if a point is            within a box is presented in Appendix A.1 and requires only            4 operations. Furthermore, an exemplary algorithm for            checking if a point is within an ellipse is described in            Appendix A.2 and requires 14 operations. It is thus readily            seen that, by first checking if positions are within the            inner box, a large amount of positions can be sorted out            with low computational complexity, and only the positions            that survive this check need to be checked against the            ellipse. For points that are within the ellipse and outside            the inner box, this actually adds an overhead of 4            operations as compared so a situation where the position            would be directly checked against the ellipse. However, this            overhead is by far compensated by the 14-4=10 operations            that are saved for each position that is within the inner            box and can then be discarded without checking against the            ellipse.    -   3. STABLE: Used when the coverage area approximation is believed        to be correct. The determination rule is as follows:        -   If a report is outside the outer box 24 (see FIG. 2), store            it, see step 903; otherwise, drop the report with a random            chance (see step 904), for instance with 99% or 99.9% (for            instance by generating a random number between 0 and 1, and            dropping the report if the number is smaller than 0.99 or            0.999).        -   This will quickly discard most of the incoming reports, but            may still allow to eventually detect if the coverage area            changes (based on the positions that are not randomly            rejected).    -   4. DUBIOUS: More than one potential outlier has occurred, the        true location of the coverage area or the coverage area itself        is dubious. The same determination rule as in the MATURING state        is performed.    -   5. GHOST: A coverage area whose reports have all expired and no        new reports have been received since. The last known coverage        model (e.g. an ellipse) is still kept in the RMDB 15. If any new        reports with respect to the coverage area of this base station        arrive, reinitialize it and put it to INITIAL state. The        determination rule is then the same as in the INITIAL state.

In the flowchart of FIG. 8, there may be a further state DO NOT COLLECT,which causes a dropping of the report (step 905) without any furtherchecks. This state may for instance be entered when the coverage modelis considered to be complete and no further changes in the coverage areaare expected.

In the exemplary flowchart of FIG. 8, steps 902, 903, 904, 906 and 907may be considered to correspond to the determining step 800 of theflowchart of FIG. 7, and steps 905 and 909 in FIG. 8 correspond to steps801 and 802 in FIG. 7, respectively.

In the flowchart of FIG. 8, storage of reports in RDB 13 (see step 909)triggers checking if the state of the coverage area has to be updated,and adding of the coverage area to the RMG queue, i.e. the reports areconsidered in the generating/updating process, see step 910. Thus anychanges in a coverage area cause it to be put into the RMG queue.

The RMG process (for instance implemented by RMG block 14 of FIG. 1) isrun for each coverage area found in the RMG queue for generation of apolygon, of coverage models and of pre-models as already describedabove, so these models are accordingly recalculated (updated). The RMGprocess thus may be identified as a generating/updating process. Theremay be precautions taken to ensure that a coverage area does not appearin the queue multiple times, as it could for instance happen withhigh-traffic coverage areas.

In the exemplary system of FIG. 1, in order to ensure that the coveragemodel and the pre-models are robustly adapted when the related coveragearea changes, a monitoring process (MON) keeps running through thereports stored in RDB 13 and puts reports with too old timestamps intomonitoring mode.

When a report is suspected to be outdated (or to be an outlier, as willbe discussed in more detail below), it may then be put into monitoringmode. A monitor box may be spanned around it, and any new reportshitting the box (see step 901 of FIG. 8) may cause the monitor box to beremoved and the corresponding report's timestamp updated to current time(see step 908 in FIG. 8).

Thus a timestamp (see Table 1) of a report is set/updated to the currenttime when the report arrives, or when it is in monitoring and itsmonitor box gets a hit. The timestamp associated with a report thereforeindicates when was the last time that there was a report from (thevicinity) of that position.

When setting up the monitor box, it may be given an expiry timestampsome time in the future. If no reports fall inside the monitor boxduring this time, the report may be removed.

A report may thus be caused to go into monitoring mode by the monitoring(MON) process that keeps checking the timestamps of all reports and putsthe old ones into monitoring.

As will be discussed in further detail below, reports may also go intomonitoring mode if a report is considered to be a potential outlier.This checking may for instance be performed by an outlier detectionprocess, which may constitute a part of the RMG process.

The width of the monitor box used if a report is in monitoring mode mayfor instance depend on the size of the coverage area, and the rate ofincoming measurements. If a coverage area has any reports in monitoring,they are checked first (see for instance step 901 in FIG. 8) without anystate-dependent filtering, so the state of the state machine does notaffect monitoring.

The monitoring process (MON) keeps iterating—continuously, periodicallyor event-based—through all coverage areas in RDB 13. In particular, ifany reports are older than a pre-defined duration of time and notalready monitored, monitoring boxes are created for them (with an expirytime some time in the future), and the associated coverage area is putinto the RMG queue.

Furthermore, if any monitor box is detected to be past its expiry time,it is removed together with its associated report, and the associatedcoverage area is put into the RMG queue. The monitoring process furthertriggers state transitions of the state diagram, as will be explainedbelow.

As already indicated above, the concept of putting reports intomonitoring mode by setting up monitoring boxes is not only used whenreports are considered by the monitoring process (MON) to be potentiallyoutdated, but also when an outlier detection process considers a reportto represent a potential outlier.

The outlier detection process will now be described in further detailwith respect to the exemplary system of FIG. 1. Therein, it isexemplarily assumed that the outlier detection process is a part of theRMG process.

The outlier detection process checks new reports (for instance newreports in the RDB 13) against the old coverage area estimates (forinstance based on existing pre-models) and puts potential outliers (forinstance reports with positions that have a distance with respect to thepre-models that is above a pre-defined threshold) directly intomonitoring with a pre-defined expiry time, which may for instance beshorter than the expiry time used for reports suspected to be outdatedby monitoring (see step 302 in FIG. 3).

It should be noted that there is no differentiation in the treatment ofthe report for which the monitoring box has been set up as to whetherthe monitoring box was set up by the monitoring process of the outlierdetection process.

As already discussed above in the context of the monitoring process,when a report arrives, or when it is in monitoring and its monitor boxgets a hit, its timestamp is updated to the current time. The timestamptherefore indicates when was the last time that there was a report from(the vicinity) of that position.

As already explained with reference to steps 303 and 304 of FIG. 3, whena coverage area has reports in monitoring mode, the RMG stores, inaddition to the polygon of all reports, also the vertices of a polygononly from non-monitored reports. This way, in a case of potentialoutliers, the optimal polygons both including and excluding thepotential outliers can be maintained. This arrangement may ensure thatif some of the monitored vertices are removed, there are vertices inreserve (i.e. vertices in the vicinity of the monitored vertices thatare not discarded in screening since the pre-models used in screeningare based on the non-monitored polygon) to produce a good coveragemodel.

Single potential outliers are put in monitoring so that they disappearquickly unless they are verified by new reports.

In case of multiple potential outliers from different terminals or, ifit cannot be distinguished between terminals, multiple potentialoutliers having different timestamps (wherein several positions reportedfrom the same terminal and reported in a single upload/report batch areassigned the same timestamp), all the vertices of the polygon are put inmonitoring and the coverage area is set to DUBIOUS state, so that eitherthe old positions or the new positions are quickly verified and theobsolete ones expire away.

FIG. 9 illustrates an exemplary state transition diagram for anexemplary state machine with exemplary states as introduced in FIG. 8and also the events from the MON and RMG (including the outlierdetection process) processes that partially trigger the statetransitions. In the exemplary system of FIG. 1, the current state of thestate machine for each coverage area is stored in SDB 12.

Initialization of the state transition diagram of FIG. 9 leads to theINITIAL state 1000, i.e. there is a coverage model for a new coveragearea to be determined, and all incoming reports are stored. If themonitoring process reveals that there are no reports for the coveragearea (for instance since all reports (if any) forming the polygonalrepresentation had to be removed due to lack of hints of the monitorboxes), the state associated with this coverage area is changed to GHOST1001, i.e. there are no reports or all reports expired. If the state isGHOST 1001, and the monitoring process turns out that no changes occurin a pre-defined duration of time, all information pertaining to thiscoverage area is removed. The cell is then considered to have vanishedaltogether.

If the state is INITIAL 1000, and RMG reports that an ellipticalcoverage model (exemplarily assumed here) has been generated (see step404 of FIG. 4), the new state is MATURING 1002. If the monitoringprocess now turns out that there are no changes within a pre-definedduration of time, the state is changed to STABLE 1003, and it is onlychanged back to MATURING 1002 in case that the RMG process informs onchanges in the coverage area.

Furthermore, if the state is STABLE 1003, and the RMG process (or theoutlier detection process, if it is not part of the RMG process) informsthat there are multiple potential outliers, the state is changed toDUBIOUS 1004. The same information causes also a transition from stateMATURING 1002 to state DUBIOUS 1004.

In state DUBIOUS 1004, the coverage model is not updated (in RMDB 15)with the potential outliers, but it is indicated that the coverage modelmight be wrong (by updating the state in RMDB 15 to DUBIOUS, see Table2). From the DUBIOUS state 1004, a transition to state MATURING 1002 ispossible if the RMG process reports that the elliptical coverage modelis no longer considered to be completely wrong. An exemplary indicationof this might, for example, be that the size of the assumed coveragearea is again within predefined limits.

In the following, principles of the exemplary fingerprint collectionsystem of FIG. 1 will be described with reference to exemplary usecases. Therein, exemplary goals are inter alia to postpone as muchcomputation as possible from FPFR block 11 to the RMG block 13, tochange the RMDB 15 as rarely as possible, and to be conservative aboutthe coverage area estimates so that rather a too large estimate is giventhan a too small one.

New Coverage Area

The first fingerprint/report from a new coverage area causes RMG block13 to create a new entry in SDB 12 for that coverage area. The coveragearea starts in INITIAL state 1000 (see FIG. 9) in which no reports arediscarded (see FIG. 8). Each incoming report causes the RMG to be run.

Once a coverage model (e.g. an ellipse) has been successfully generated,RMG puts the state to MATURING 1002 (see FIG. 9) and screening withpre-models begins (see FIG. 8). After the coverage area approximationhas stopped growing, it eventually goes into STABLE state 1003 (see FIG.9).

Normal Operation

This is when the coverage area approximation is correct and the systemoperates normally (should be about 99.9% of the time).

The state of the state machine for the coverage area is STABLE 1003 (seeFIG. 9). Because most of the incoming reports are thrown away inscreening (save for the, for instance, 1% or 0.1% that pass through therandom rejection, see step 904 of FIG. 8), the vertices will go intomonitoring mode now and then, but as the model is about correct andthere is traffic in the coverage area, some report will hit the monitorbox and the vertex's timestamp is updated. The coverage model (e.g. anellipse) stays untouched in this case.

Occasionally some terminal's GPS may be a bit off and it reports apoint, say, 500m outside the coverage area approximation. This report isoutside the outerbox (see step 903 in FIG. 8) and thus passes to RMG. Itis tagged as a potential outlier there and put on a short monitoringperiod. The coverage model (e.g. an ellipse) will temporarily expand toinclude also this point (see steps 303, 304 in FIG. 3), and the statedrops into the MATURING state 1002 (see FIG. 9), but the coverage modelwill snap back to its former form after the outlying report expires, andback to STABLE state 1003 (see FIG. 9) after sufficient time passeswithout new potential outliers.

Disappearing Coverage Area

If a coverage area suddenly ceases to be (for instance due to basestation removal or turn-off, to name but a few possibilities), therewill not be any more reports featuring it, and all of its reports willexpire in time.

When the last report is removed, MON sets the state to GHOST 1001 (seeFIG. 10). If there still are no reports within a predefined duration oftime, MON removes all information related to the coverage area from thedatabase.

It should be noted that some or all of the states of FIGS. 9 and 10 andpotential further states may also be applied at system level. The wholesystem 1 of FIG. 1 may for instance be set into, say, INITIAL modeindicating that all reports shall be maintained regardless of otheraspects. Such a mode may be set, for example, after a reset of RDB 13.Similarly, also a “BUSY” mode may be assigned. In such a mode, reportsmight be dropped randomly, for example. The system or parts thereof mayalso be set to DO NOT COLLECT state to avoid collection of reports. Thismay for instance be performed for the base stations of a specificoperator due to business or legal reasons.

The following appendices describe exemplary algorithmic details of thepresent invention and are to be understood as part of the disclosure.

APPENDIX A.1 Point Inside a Rectangle

Checking if a point (x,y) is within a rectangle defined by x_(min),y_(min) and x_(max), y_(max) max requires 4 operations:

-   if x≦x_(max) and x≧x_(min) and y≦y_(max) and y≧y_(min) return true.

APPENDIX A.2 Point Inside a Matrix-Form Ellipse

Checking if a point x is within an ellipse with center c and

${{matrix}\mspace{14mu} A} = {\begin{bmatrix}a & b \\b & d\end{bmatrix}\text{:}}$ (x − c)^(T)A(x − c) ≤ 1.

This may be implemented as follows:

Operations Δx₁ := x₁ − c₁ 1 Δx2 := x₂ − c₂ 1 r := Δx² ₁a + 2Δx₁Δx₂b +Δx² ₂d 11 if r ≦ 1 return true 1 14

APPENDIX A.3 Maximum Box within an Ellipse

Let the ellipse be defined as (x−c)^(T)A(x−c)≦1, with

$A = \begin{bmatrix}a & b \\b & d\end{bmatrix}$

and the center of the ellipse given as c=(c₁, c₂). Then the maximalinscribed symmetric rectangle is computed as

$L = \frac{1}{2\left( {{ad} + {{b}\sqrt{\left. {ad} \right)}}} \right.}$$\Delta_{1} = \sqrt{Ld}$ $\Delta_{2} = \sqrt{La}$B = [c₁ − Δ₁, c₁ + Δ₁] × [c₂ − Δ₂, c₂ + Δ₂]..

Therein, c₁−Δ₁ and c₁+Δ₁ define the left and right boundaries of therectangle, and c₂−Δ₂ and c₂+Δ₂ define the lower and upper boundaries ofthe rectangle, respectively.

APPENDIX A.4 Coordinate and Ellipse Conversions

Straight lines on Earth are defined as those following the great circles(i.e. the circles on the surface of the earth dividing the Earth intotwo equal hemisphere so that the centre of the Earth lies on the planedefined by the great circles), and there is a difference between themand the straight lines in geodetic coordinates. These are luckilynegligible for small coverage areas. At latitudes less than 80°, thiserror is less than 3 m for coverage areas with 5 km diameter, and lessthan 150 m for coverage area with 35 km diameter.

At latitude φ, the length of one meter in East/North directions indegrees is:

${s_{E}(\varphi)} = {\frac{180}{\pi}\frac{\sqrt{1 - {e^{2}{\sin (\varphi)}^{2}}}}{a\; {\cos (\varphi)}}{degrees}\text{/}{meter}}$${{s_{N}(\varphi)} = {\frac{180}{\pi}\frac{\left( {1 - {e^{2}{\sin (\varphi)}^{2}}} \right)^{\frac{3}{2}}}{a\left( {1 - e^{2}} \right)}{degrees}\text{/}{meter}}},$

where a and e are the WGS-84 semi-major axis and eccentricity of Earth.

Then a local conversion from 2D geodetic coordinates (φ, λ) to CartesianEast-North coordinates (x, y) with origin at (φ₀, λ₀) is

$\begin{bmatrix}x \\y\end{bmatrix} = {M\begin{bmatrix}{\varphi - \varphi_{0}} \\{\lambda - \lambda_{0}}\end{bmatrix}}$

where

$\begin{matrix}{{M = \begin{bmatrix}0 & {s_{E}^{- 1}\left( \varphi_{0} \right)} \\{s_{N}^{- 1}\left( \varphi_{0} \right)} & 0\end{bmatrix}},} & (1)\end{matrix}$

Conversion Between Axis/Angle-Form and Matrix-Form Ellipses

The centers of the axis/angle-form and the matrix-form ellipses are thesame. Given an axis/angle-form ellipse with semi-axes with radii r₁ andr₂ (in meters), and clock-wise angle θ between first semiaxis and North,the corresponding matrix form is

$\begin{matrix}{A = {{{{M^{T}\begin{bmatrix}{\sin (\theta)} & {\cos (\theta)} \\{\cos (\theta)} & {- {\sin (\theta)}}\end{bmatrix}}\begin{bmatrix}r_{1}^{- 2} & 0 \\0 & r_{2}^{- 2}\end{bmatrix}}\begin{bmatrix}{\sin (\theta)} & {\cos (\theta)} \\{\cos (\theta)} & {- {\sin (\theta)}}\end{bmatrix}}{M.}}} & (2)\end{matrix}$

Conversely, given the matrix A, the corresponding semiaxis lengths androtation angle of the axis/angle-form ellipse are

r₁=√{square root over (first eigenvalue of M A⁻¹M^(T))}r₂=√{square root over (second eigenvalue of M A⁻¹M^(T))}θ=a tan 2(v₁, v₂)where v is the eigenvector of MA⁻¹M^(T) corresponding to its firsteigenvalue, and the a tan 2-function denotes the arc tangent taking thequadrants into account.

APPENDIX A.5 Testing if a Point is in a Convex Polygon

Model a coverage area as a convex polygon with vertices p₁, . . . ,p_(n), where vertices are in counterclockwise order. For simplicity,cyclic indexing of vertices p_(i)=p_(i+kn) is used, where k is anon-negative integer to represent cyclicity.

P={x|∀i;1≦i≦n:(x−p _(i−1))×(p _(i) −p _(i−1))≦0},

where X is the “two-dimensional cross-product”

x×y=x ₁ y ₂ −x ₂ y ₁,

and x=(x₁, x₂) and y=(y₁, y₂).

The two-dimensional cross-product may be used to see if a point q is onleft or right side of a line from p_(i) to p_(j). If(q−p_(i))×(p_(i)−p_(j))=a and a<0 then q is on the left side. If a>0then q is on the right side and if a=0 then q is on the line.

Testing if a point q is inside a convex polygon can be done in log(n)time using binary search for testing in which sector of polygon thepoint q lies.

This is schematically illustrated in FIG. 10, wherein point (a) isinside the convex polygon, and point (b) is outside. The polygon isdefined by its n=6 vertices p₁, . . . , p₆. An according algorithm isgiven below:

2D cross product Operations result := x₁y₂ − x₂y₁ 3 Is q inside convexpolygon p₁, . . . p_(n) with p_(n+1) = p₁ lo := 1 hi := n + 1 1 i :=└(lo + hi)/2┘ 2 Do   side := (p₁ − q) × (p_(i) − p₁) 7  if side < 0 1   hi := I  Else    lo := i  End  i: = └(lo + hi)/2┘ 2 until hi − lo = 12 side := (p_(lo) − q) × (p_(hi) − p_(lo)) 7 if side < 0 return false 1return true 11 + 12j, j≈log2(n) n = 10 → j≈4 → 59

APPENDIX A.6 Point Inside an Axis/Angle-Form Ellipse

Used symbols:

-   θ angle-   r₁ semi-major radius in meters-   r₂ semi-minor radius in meters-   φ₀ latitude of center of ellipse-   λ₀ longitude of center of ellipse-   φ latitude of point-   λ longitude of point-   a₀ semi-major axis of earth-   e² squared eccentricity of Earth

$\frac{180}{\pi}$

conversion factor from radians to degrees

Angles are in degrees and trigonometric functions are also degreeversions. All arithmetic operations are counted as one and assignment isconsidered to not take any time.

Parameters s_(E) & s_(N): Operations u := {square root over (1 −e²sin(φ₀)²)}  5$s_{E}:={\frac{180}{\pi}\frac{u}{a_{0}{\cos \left( \varphi_{0} \right)}}}$ 4$s_{N}:={\frac{180}{\pi}\frac{u^{3}}{a_{0}\left( {1 - e^{2}} \right)}}$ 5 subtotal 14 Elements matrix A: Operations$a:=\frac{\left( \frac{\cos (\theta)}{r_{1}} \right)^{2} + \left( \frac{\sin (\theta)}{r^{2}} \right)^{2}}{s_{N}^{2}}$ 9$b:={\frac{\sin \; {\theta cos\theta}}{s_{E}s_{N}}\left( {r_{1}^{- 2} - r_{2}^{- 2}} \right)}$ 9$c:=\frac{\left( \frac{\sin (\theta)}{r_{1}} \right)^{2} + \left( \frac{\cos (\theta)}{r^{2}} \right)^{2}}{s_{E}^{2}}$ 9 subtotal 27 Inside ellipse: Operations Δx₁ := φ₀ − φ  1 Δx₂ := λ₀ − λ 1 r := Δx₁ ²a + 2Δx₁Δx₂b + Δx₂ ²d 11 if r ≦ 1 return false  1 subtotal14 total 55

It is readily clear for a person skilled in the art that the logicalblocks in the schematic block diagrams as well as the flowchart andalgorithm steps presented in the above description and its appendicesmay at least partially be implemented in electronic hardware and/orcomputer software, wherein it may depend on the functionality of thelogical block, flowchart step and algorithm step and on designconstraints imposed on the respective devices to which degree a logicalblock, a flowchart step or algorithm step is implemented in hardware orsoftware. The presented logical blocks, flowchart steps and algorithmsteps may for instance be implemented in one or more digital signalprocessors (DSPs), application specific integrated circuits (ASICs),field programmable gate arrays (FPGAs) or other programmable devices.The computer software may be stored in a variety of computer-readablestorage media of electric, magnetic, electro-magnetic or optic type andmay be read and executed by a processor, such as for instance amicroprocessor. To this end, the processor and the storage medium may becoupled to interchange information, or the storage medium may beincluded in the processor.

The invention has been described above by means of embodiments, whichshall be understood to be exemplary and non-limiting. In particular, itshould be noted that there are alternative ways and variations which areobvious to a skilled person in the art and can be implemented withoutdeviating from the scope and spirit of the appended claims. It shouldalso be understood that the sequence of all method steps presented aboveis not mandatory, also alternative sequences may be possible.

1. An apparatus comprising: a processor, and a memory, said memorystoring a program comprising program code, said program configured tocause said apparatus, when said program is executed on said processor,to perform determining whether information useable for a process thatcomprises generating and/or updating at least one model for a coveragearea of a communication node shall be discarded or made available tosaid process, wherein said determining is based on a state machine andat least one of one or more determination rules, and wherein at leasttwo states of said state machine are associated with differentdetermination rules of said one or more determination rules,respectively.
 2. The apparatus according to claim 1, wherein saiddetermining is based on at least one model for said coverage area ofsaid communication node produced by said process.
 3. The apparatusaccording to claim 2, wherein said determining comprises checking if aposition contained in said information is covered by said at least onemodel on which said determining is based and discarding said informationor making said information available to said process at least partiallybased on an outcome of said checking.
 4. The apparatus according toclaim 3, wherein said information is discarded if a position containedin said information is covered by said at least one model on which saiddetermining is based.
 5. The apparatus according to claim 3, whereinsaid process, in addition to said at least one model on which saiddetermining is based, produces at least one further model that differsfrom said at least one model on which said determining is based at leastin its format, and wherein said checking if said position is covered bysaid at least one model on which said determining is based is lesscomplex than a checking if said position is covered by said at least onefurther model.
 6. The apparatus according to claim 2, wherein at leastone model of said at least one model on which said determining is basedis at least one of a rectangular model, an elliptical model or apolygonal model.
 7. The apparatus according to claim 6, wherein saidrectangular model defines one of a rectangle that is considered to becompletely within said coverage area of said communication node or arectangle that is considered to completely enclose said coverage area ofsaid communication node.
 8. The apparatus according to claim 6, whereinsaid elliptical model describes an ellipse by the matrix$A = \begin{bmatrix}a & b \\b & d\end{bmatrix}$ with parameters a>0, d>0 and b and the two-dimensionalcentre position c so that a two-dimensional position x is within theellipse if (x−c)^(T)A(x−c)≦1.
 9. The apparatus according to claim 1,wherein a determination rule of said one or more determination rulesrequires that no information shall be discarded.
 10. The apparatusaccording to claim 1, wherein a determination rule of said one or moredetermination rules requires that said information shall be discarded ifa position contained in said information is covered by a first-typemodel for said coverage area of said communication node produced by saidprocess, that said information shall be discarded if said positioncontained in said information is not covered by said first-type modelbut is covered by a second-type model for said coverage area of saidcommunication node produced by said process, and that said informationshall be made available to said process otherwise.
 11. The apparatusaccording to claim 1, wherein a determination rule of said one or moredetermination rules requires that said information shall be madeavailable to said process if a position contained in said information isnot covered by a model for said coverage area of said communication nodeproduced by said process, and that, if said position contained in saidinformation is covered by said model, said information shall bediscarded randomly according to a pre-defined probability criterion andotherwise maintained.
 12. The apparatus according to claim 1, whereinsaid apparatus further comprises at least one of a user interface, IPconnectivity or a memory.
 13. A method, performed by an apparatus,comprising: determining whether information useable for a process thatcomprises generating and/or updating at least one model for a coveragearea of a communication node shall be discarded or made available tosaid process, wherein said determining is based on a state machine andat least one of one or more determination rules, and wherein at leasttwo states of said state machine are associated with differentdetermination rules of said one or more determination rules,respectively.
 14. The method according to claim 13, wherein saiddetermining is based on at least one model for said coverage area ofsaid communication node produced by said process.
 15. The methodaccording to claim 14, wherein said determining comprises checking if aposition contained in said information is covered by said at least onemodel on which said determining is based and discarding or making saidinformation available to said process at least partially based on anoutcome of said checking.
 16. The method according to claim 14, whereinat least one model of said at least one model on which said determiningis based is at least one of a rectangular model, an elliptical model ora polygonal model.
 17. A non-transitory computer readable medium havinga program stored thereon, the program comprising: program code forperforming the method according to claim 13, when said program isexecuted on a processor.
 18. The apparatus according to claim 2, whereinsaid at least one model for a coverage area of a communication node is ageometrical model.
 19. The apparatus according to claim 1, wherein saidinformation is a report that contains a position of a terminal that isable to hear the communication node, and wherein said generating and/orupdating at least one model for a coverage area of said communicationnode is based on a plurality of reports from one or more terminals thatreport their respective positions and respective lists of one or morecommunication nodes that can be heard at said respective positions. 20.The method according to claim 13, wherein said information is a reportthat contains a position of a terminal that is able to hear thecommunication node, and wherein said generating and/or updating at leastone model for a coverage area of said communication node is based on aplurality of reports from one or more terminals that report theirrespective positions and respective lists of one or more communicationnodes that can be heard at said respective positions.